package com.xl.yygh.order.service;


import com.xl.yygh.model.model.order.OrderInfo;
import com.xl.yygh.model.model.order.PaymentInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * @author XiangLiang
 */
public interface PaymentService extends IService<PaymentInfo> {

    /**
     * 向支付记录表添加信息
     *
     * @param order       OrderInfo订单实体
     * @param paymentType 支付类型（1：微信 2：支付宝）
     */
    void savePaymentInfo(OrderInfo order, Integer paymentType);

    /**
     * 更新订单状态
     *
     * @param outTradeNo 交易编号
     * @param resultMap  结果集Map
     */
    void paySuccess(String outTradeNo, Map<String, String> resultMap);

    /**
     * 获取支付记录
     *
     * @param orderId     订单ID
     * @param paymentType 支付类型
     * @return 支付记录实体
     */
    PaymentInfo getPaymentInfo(Long orderId, Integer paymentType);

    /**
     * 支付成功
     *
     * @param outTradeNo  交易编号
     * @param paymentType 支付方式
     * @param paramMap    结果集Map
     */
    void paySuccess(String outTradeNo, Integer paymentType, Map<String, String> paramMap);

}
